package ControlLayer;
import java.util.ArrayList;
import ModelLayer.*;

/**
 * Controller klasse for SalgCtr.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class SalgCtr
{
    // instance variables - replace the example below with your own
    private KundeCtr kctr;
    private MedarbejderCtr mctr;
    private OrdreContainer ordreContainer;

    /**
     * Constructor for objects of class SalgCtr
     */
    public SalgCtr()
    {
       kctr = new KundeCtr();
       mctr = new MedarbejderCtr();
       ordreContainer = OrdreContainer.getInstance();
    }
    
    /**
     * Metode til at finde en Ordre's ID igennem OrdreContainer.
     */
    public Ordre findOrdre(int ordreId)
    {
        return ordreContainer.findOrdre(ordreId);
    }
    
    /**
     * Opretter ordre
     */
    public void opretOrdre(int ordreId, int kundeId, int medarbejderId, String status, String afleveringsDato, String ordreType)
    {
        Kunde k = kctr.findKunde(kundeId);
        Medarbejder m = mctr.findMedarbejder(medarbejderId);
        Ordre o = new Ordre(ordreId, status, afleveringsDato, ordreType, m, k);
        ordreContainer.tilfoejOrdre(o);
    }
    
     /**
     * Opretter delordre
     */ 
    public void opretDelordre(Ordre o,int id, int ordreId, int maengde)
    {
        VarerCtr vctr = new VarerCtr();
        Varer v = vctr.findVare(id);
        o.opretDelordre(maengde, v);
    }
        
    /**
     * Kalder metoden fjernOrdre nede i OrdreContainer til at fjerne en ordre.
     */
    public void sletOrdre(int ordreId)
    {
        ordreContainer.fjernOrdre(ordreId);
    }
    
    /**
     * Kalder metoden printAlleOrdre nede i OrdreContainer til at finde alle ordre og printe en liste over dem.
     */
    public ArrayList<Ordre> listAllOrdre()
    {
        return ordreContainer.listAllOrdre();
    }

}
